package com.hzy.pms.domain.vo;

import java.math.BigDecimal;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 商品信息视图对象 pms_product
 *
 * @author zengxin
 * @date 2023-10-17
 */
@Data
@ExcelIgnoreUnannotated
public class ProductVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @ExcelProperty(value = "ID")
    private Long id;

    /**
     * product_snapshot_id
     */
    @ExcelProperty(value = "product_snapshot_id")
    private Long productSnapshotId;

    /**
     * 品牌
     */
    @ExcelProperty(value = "品牌")
    private Long brandId;

    /**
     * 类型
     */
    @ExcelProperty(value = "类型")
    private Long categoryId;

    /**
     * 商品编码
     */
    @ExcelProperty(value = "商品编码")
    private String outProductId;

    /**
     * 标题
     */
    @ExcelProperty(value = "标题")
    private String name;

    /**
     * 主图
     */
    @ExcelProperty(value = "主图")
    private String picUrl;

    private String pic;

    /**
     * 画册图片，连产品图片限制为5张，以逗号分割
     */
    @ExcelProperty(value = "画册图片，连产品图片限制为5张，以逗号分割")
    private String albumPics;

    /**
     * 上架状态：0->下架；1->上架
     */
    @ExcelProperty(value = "上架状态：0->下架；1->上架", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_show_status")
    private Integer publishStatus;

    /**
     * 排序
     */
    @ExcelProperty(value = "排序")
    private Integer sort;

    /**
     * 价格
     */
    @ExcelProperty(value = "价格")
    private BigDecimal price;

    /**
     * 单位
     */
    @ExcelProperty(value = "单位")
    private String unit;

    /**
     * 商品重量，默认为克
     */
    @ExcelProperty(value = "商品重量，默认为克")
    private BigDecimal weight;

    /**
     * 产品详情网页内容
     */
    @ExcelProperty(value = "产品详情网页内容")
    private String detailHtml;

    /**
     * 移动端网页详情
     */
    @ExcelProperty(value = "移动端网页详情")
    private String detailMobileHtml;

    /**
     * 品牌名称
     */
    @ExcelProperty(value = "品牌名称")
    private String brandName;

    /**
     * 商品分类名称
     */
    @ExcelProperty(value = "商品分类名称")
    private String productCategoryName;

    /**
     * 商品销售属性，json格式
     */
    @ExcelProperty(value = "商品销售属性，json格式")
    private String productAttr;


    private List<SkuVo> skuList;

}
